//
//  LSYMainController.swift
//  LSYWeibo
//
//  Created by 刘诗岩 on 16/4/6.
//  Copyright © 2016年 刘诗岩. All rights reserved.
//

import UIKit

class LSYMainController: UITabBarController {

    override func viewDidLoad() {
        super.viewDidLoad()

        // 添加子控制器
        addChildrenControllers()
        
        let mainTabBar = LSYMainTabBar()
        
        // 加号按钮点击事件
        mainTabBar.plusButton.addTarget(self, action: "plusButtonDidClick", forControlEvents: .TouchUpInside)
        
        // 利用 KVC 将自定义的 LSYMainTabBar 替换掉系统的 tabBar
        setValue(mainTabBar, forKey: "tabBar")
    }
    
    // MARK: - 添加子控制器
    private func addChildrenControllers(){
        
        addChildController(LSYHomeController(), title: "主页", imageName: "tabbar_home")
        addChildController(LSYMessageController(), title: "消息", imageName: "tabbar_message_center")
        addChildController(LSYDiscoverController(), title: "发现", imageName: "tabbar_discover")
        addChildController(LSYProfileController(), title: "我", imageName: "tabbar_profile")
        
    }

    /** 添加子控制器 */
    private func addChildController(vc : UIViewController, title : String, imageName : String){
        
        // 设置 tabBarItem 与 navigationItem 的 title
        vc.title = title
        
        // 设置默认图片与选中图片,样式为源生
        vc.tabBarItem.image = UIImage(named: imageName)
        vc.tabBarItem.selectedImage = UIImage(named: imageName + "_selected")?.imageWithRenderingMode(.AlwaysOriginal)
        vc.tabBarItem.setTitleTextAttributes([NSForegroundColorAttributeName : UIColor.orangeColor()], forState: .Selected)
        // 改变 tabBarItem 字体颜色
//        tabBar.tintColor = UIColor.orangeColor()
        
        // 包装控制器入导航控制器
        let nav = LSYBaseNavigationController(rootViewController: vc)
        
        addChildViewController(nav)
    }
    
    // MARK: - 加号按钮的点击事件
    // 加 @objc 才可以加入运行循环
    @objc private func plusButtonDidClick(){
        
        print("加号按钮被点击")
    }

    
    
    
    
    
    
    
    
    
    
    
    
    
}
